Header:

3 These are effects which are not normally available within TEX. Instead they require a suitable `back-end' option to provide the necessary | commands, or extra fonts, together with appropriate commands to implement the effects. Thus

$\displaystyle \xy$* + $\displaystyle \txt$ < .8$\displaystyle \hsize$ > Usingthisextensionwillhavenoeffectontheoutputunlessusedwithabackendthatexplicitlysupportsit.*$\displaystyle \frm$-$\displaystyle \xy$

The extension provides special effects that can be used with any -pic <object> by defining |[|<shape>|]| modifiers. The modification is local to the <object> currently being built, so will have no effect if this object is never actually used.

The following table lists the modifiers that have so far been defined. They come in two types – either a single keyword, or a key-character with the following text treated as an argument.


\begin{defs}%
\vert[thicker]\vert & double line thickness \cr
\vert[thinner]\v...
... style settings\cr
\vert[\vert\vert*]\vert & reuse previous style\cr
\end{defs}

Later settings of the linewidth override earlier settings; multiple calls to |[thicker]| and |[thinner]| compound.

( @*shapechar@|@#1@@#1@@

@*shape@thinner@@thinner@ @*shape@thicker@@thicker@ )

2 Each style modifier adds code to one, or both, of two global lists. These contents of these lists, called |@@ | and |@@ |. An implementation must define macros which are to be bound to the control sequence names |@| and |@|, which are prepended and appended to the |@@| and |Connect@@| methods for the current <object>.

Also |@@| and |@@| must be modified, if this has not already been done as indicated by |@style@| having expansion ||.

( @@ @@

@@ @@

@@style@ @@@ @@@

@@@style@=

@@@style@= )

Code is added sequentially to |@| so that it is ultimately acted upon in the order of occurrence of the <shape> modifiers. The code is added to |@| in reverse order, so that each addition to |@| can be closed off, if necessary, in a correctly nested sequence.

( @@@style@@@@ @##1@@@@##1@@ @##1@@@@##1@@@

@@ )

Global macros are used, so that the same styles can be reused by successive objects without having to re-interpret <shape> modifiers, as described next.

3